//package org.way.rocketMq.config;
//
//import lombok.Data;
//import org.springframework.beans.factory.config.BeanPostProcessor;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.way.rocketMq.bean.ConsumerGroup;
//import org.way.rocketMq.bean.RocketManager;
//import org.way.rocketMq.bean.Topic;
//
///**
// * 环境隔离。对不同的环境定义不同的topic
// * 可以针对topic隔离，或者tag、namespace隔离
// */
//@Configuration
//@Data
//public class RocketMqConfig implements BeanPostProcessor {

//    @Bean
//    public RocketManager rocketManager() {
//        return new RocketManager();
//    }
//
//    @Bean
//    public Topic topic() {
//        return new Topic();
//    }
//
//    @Bean
//    public ConsumerGroup consumerGroup() {
//        return new ConsumerGroup();
//    }

//    @Override
//    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
//        if(bean instanceof DefaultRocketMQListenerContainer){
//            DefaultRocketMQListenerContainer container = (DefaultRocketMQListenerContainer) bean;
//            if(enabledIsolation && StringUtils.hasText(environment)){
//                container.setTopic(String.join("_", container.getTopic(),environment));
//            }
//            return container;
//        }
//        return bean;
//    }
//
//
//    public String getNewTopic() {
//        if(enabledIsolation && StringUtils.hasText(environment)){
//            return MqConstant.topic +"_" + environment;
//        }
//        return MqConstant.topic;
//    }
//
//}
